home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1994 March
/
64er_Magazin_94-03_1994_Markt__Technik_de_Side_A.d64
/
giga-sedit 2.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
9KB
|
726 lines
100 ;
110 ;
120 ;
130 ;
140 ; giga-ass - scrolledit v2
150 ;= = = = = = = = = = = = = = = = =
160 ; coded by christian thrum
170 ; (skywalker of sunbeam !)
180 ; done in 1992/1993 !!
190 ;
200 ;
210 ; christian thrum
220 ; sophienstr. 14
230 ; 07743 jena
240 ; tel: (03641)25958
250 ;
260 ; finally giga-ass rules ...
270 ; lets scratch the 'vis-ass'
280 ; together !!!!
290 ; (just kidding!)
300 ;
310 ;
320 ;
330 getpcloseaddy,val
340 mid$#val
350 (NULL)addy
360 new
370 tab(objectstart=$7b00
380 +objectstart
390 usrobjectstart
400 tab(lasthigh=$96
410 ;
420 ;
430 ;
440 ; install/init
450 ;==============================
460 ;
470 install mid$#<(fullinit)
480 (NULL)$8000
490 (NULL)$84d0
500 (NULL)$2b
510 mid$#>(fullinit)
520 (NULL)$8001
530 (NULL)$84d2
540 (NULL)$9fb8
550 (NULL)$82e6
560 (NULL)$2c
570 peek#<(init)
580 (NULL)$9fb7
590 (NULL)
600 (NULL)$82e5
610 pclose$84aa,$60
620 (NULL)$8534
630 ;
640 peek#>(setpge)
650 pclose$9959,<(setpge)
660 (NULL)$995a
670 pclose$94d4,<(set4)
680 (NULL)$971e
690 (NULL)$94d5
700 (NULL)$971f
710 pclose$82c9,<(acheck-1)
720 (NULL)$82ca
730 pclose$9f72,>(irq)
740 pclose$9f75,<(irq)
750 peek#0
760 mid$insttext,x
770 (NULL)*+8
780 (NULL)$ffd2
790 (NULL)
800 (NULL)*-9
810 (NULL)$2d
820 (NULL)$33
830 pclose$2e,$a0
840 pclose$34,$7b
850 (NULL)($0302)
860 ;
870 insttext
880 not"[147]save
890 [165]$22
900 [168]"giga-ass +sedit
910 fn$22
920 not",8"
930 ;
940 ;
950 +objectstart+$a0
960 ;
970 ;
980 fullinit (NULL)$849d
990 ;
1000 init (NULL)
1010 peek#1
1020 (NULL)irqflag
1030 (NULL)
1040 (NULL)$d4
1050 peek#$f3
1060 (NULL)
1070 (NULL)$84ab;g-init!
1080 mid$#<(text)
1090 len#>(text);text
1100 (NULL)$ab1e;output
1110 (NULL)$a644;new
1120 (NULL)$94ba
1130 pclose$cf,0
1140 pclose$dc0d,$81
1150 mid$#%00000100
1160 (NULL)$028d
1170 (NULL)*+5
1180 (NULL)aload
1190 (NULL)$8537;cont init
1200 ;
1210 ;
1220 ;
1230 ; irq-routine + keycheck
1240 ;==============================
1250 ;
1260 irq pclose$dc0d,1
1270 mid$irqflag
1280 (NULL)nkjmp
1290 ;
1300 key peek$c5
1310 tan#64
1320 (NULL)key1
1330 pclosefflag,0
1340 nkjmp (NULL)nokey
1350 ;
1360 key1 mid$#%00000100
1370 (NULL)$028d
1380 (NULL)fkey
1390 ;
1400 ;
1410 ckey (NULL)
1420 len#6
1430 str$keytab,y
1440 (NULL)ckey2
1450 (NULL)
1460 (NULL)*-6
1470 (NULL)gfkey
1480 ckey2 mid$jumptab2,y
1490 (NULL)
1500 mid$jumptab1,y
1510 (NULL)
1520 (NULL)
1530 ;
1540 downjump (NULL)down
1550 upjump (NULL)up
1560 ;
1570 fkey tan#4;f1
1580 (NULL)upjump
1590 tan#3;f7
1600 (NULL)downjump
1610 tan#6;f5
1620 (NULL)mnetab
1630 tan#5;f3
1640 (NULL)nkjmp
1650 ;
1660 ;
1670 ; tabulator
1680 ;===============================
1690 ;
1700 latab (NULL)charnorm
1710 len#$05
1720 (NULL)$e50e
1730 (NULL)mnetab2
1740 ;
1750 mnetab (NULL)charnorm
1760 mid$$033e
1770 (NULL)
1780 val#$05
1790 (NULL)
1800 (NULL)$e50e
1810 mnetab2 (NULL)endirq
1820 ;
1830 ;
1840 ;
1850 ; cursor home / 25th pos
1860 ;================================
1870 ;
1880 home (NULL)charnorm
1890 (NULL)$e566
1900 home2 (NULL)nokey
1910 ;
1920 thpos (NULL)charnorm
1930 peek#24
1940 len#0
1950 (NULL)$e50c
1960 (NULL)home2
1970 ;
1980 ;
1990 ; screen-edit (r,s,l,c)
2000 ;===============================
2010 ;
2020 save
2030 (NULL)getnumber
2040 mid$$14
2050 (NULL)savead
2060 mid$$15
2070 (NULL)savead+1
2080 (NULL)$e513
2090 (NULL)xypos
2100 (NULL)xypos+1
2110 (NULL)endirq
2120 ;
2130 ;
2140 load (NULL)checkold
2150 (NULL)lend
2160 (NULL)
2170 (NULL)load2
2180 lend (NULL)endirq
2190 ;
2200 ;
2210 aload (NULL)
2220 mid$#$ff
2230 len#1
2240 (NULL)&$2b,y
2250 (NULL)$a533
2260 peek$23
2270 mid$$22
2280 (NULL)
2290 val#2
2300 (NULL)*+3
2310 (NULL)
2320 (NULL)$2d
2330 (NULL)$2e
2340 (NULL)$a660
2350 (NULL)
2360 (NULL)load2
2370 pclose$cf,0
2380 (NULL)
2390 (NULL)$a47b
2400 ;
2410 ;
2420 rebulid
2430 (NULL)checkold
2440 (NULL)rend
2450 (NULL)getnumber
2460 (NULL)savepos
2470 (NULL)r2
2480 (NULL)loadpos
2490 rend (NULL)endirq
2500 ;
2510 ;
2520 swap (NULL)checkold
2530 (NULL)send
2540 (NULL)getnumber
2550 mid$$14
2560 (NULL)
2570 mid$$15
2580 (NULL)
2590 mid$$d6
2600 (NULL)
2610 mid$$d3
2620 (NULL)
2630 (NULL)
2640 (NULL)load2
2650 (NULL)
2660 (NULL)xypos
2670 (NULL)
2680 (NULL)xypos+1
2690 (NULL)
2700 (NULL)savead+1
2710 (NULL)
2720 (NULL)savead
2730 send (NULL)endirq
2740 ;
2750 ; subroutinen
2760 ;
2770 load2 (NULL)nl
2780 mid$#$ea
2790 fn$2c
2800 nl mid$#$2c
2810 (NULL)anl
2820 mid$savead
2830 (NULL)$14
2840 mid$savead+1
2850 (NULL)$15
2860 (NULL)r2
2870 (NULL)endlo
2880 lenxypos
2890 peekxypos+1
2900 anl fn$2c
2910 len#0
2920 (NULL)$e50c
2930 endlo (NULL)
2940 ;
2950 r2 (NULL)charnorm
2960 pclose$c7,0
2970 (NULL)$d4
2980 (NULL)$a613;calc addy
2990 len#$01
3000 mid$($5f),y
3010 (NULL)endreb
3020 r3 mid$#147;clrscr
3030 fn$2c
3040 rloop mid$#13;cr
3050 (NULL)$ffd2
3060 (NULL)$9a44;'?'-line
3070 (NULL)searchnex
3080 (NULL)endreb-2
3090 mid$$d6
3100 str$#24;last l.?
3110 (NULL)rloop
3120 (NULL)
3130 fn$24
3140 endreb (NULL)
3150 (NULL)
3160 ;
3170 ; get highest / lowest lines
3180 ;===============================
3190 ;
3200 get (NULL)charnorm
3210 (NULL)checkold
3220 (NULL)endget
3230 (NULL)savepos
3240 mid$$2b
3250 (NULL)$5f
3260 mid$$2c
3270 (NULL)$60
3280 (NULL)cl25th
3290 (NULL)
3300 (NULL)printline
3310 peek$2e
3320 mid$$2d
3330 (NULL)
3340 (NULL)#$02
3350 (NULL)*+3
3360 (NULL)
3370 (NULL)$60
3380 (NULL)$5f
3390 (NULL)searchbac
3400 (NULL)cl1st
3410 (NULL)
3420 (NULL)printline
3430 (NULL)loadpos
3440 endget (NULL)endirq
3450 ;
3460 ;
3470 ;
3480 ; scrollen - hochwaerts
3490 ;===============================
3500 ;
3510 up
3520 (NULL)getnumber
3530 (NULL)$a613;line>addy
3540 (NULL)savepos
3550 ;
3560 up1 mid$$5f;check
3570 str$$2b;last
3580 (NULL)up2;line
3590 mid$$60
3600 str$$2c
3610 (NULL)up2
3620 (NULL)udend
3630 ;
3640 up2 (NULL)searchbac
3650 scrollu peek#$ff;scroll
3660 u1 mid$$06c0,x
3670 (NULL)$06e8,x
3680 (NULL)
3690 (NULL)u1
3700 mid$$06c0
3710 (NULL)$06e8
3720 (NULL)
3730 u2 mid$$05c0,x
3740 (NULL)$05e8,x
3750 (NULL)
3760 (NULL)u2
3770 mid$$05c0
3780 (NULL)$05e8
3790 (NULL)
3800 u3 mid$$04c0,x
3810 (NULL)$04e8,x
3820 (NULL)
3830 (NULL)u3
3840 mid$$04c0
3850 (NULL)$04e8
3860 peek#$c0
3870 u4 mid$$03ff,x
3880 (NULL)$0427,x
3890 (NULL)
3900 (NULL)u4
3910 (NULL)cl1st
3920 peek#$17
3930 copy1 mid$$da,x
3940 asc#$7f
3950 len$d9,x
3960 (NULL)*+4
3970 (NULL)#$80
3980 (NULL)$da,x
3990 (NULL)
4000 (NULL)copy1
4010 mid$$d9
4020 (NULL)#$80
4030 (NULL)$d9
4040 ;
4050 pclose$d4,0
4060 (NULL)
4070 (NULL)printline
4080 ;
4090 pclose$dc00,$fe
4100 mid$#%00010000
4110 (NULL)$dc01
4120 (NULL)up3
4130 (NULL)up1;again
4140 up3 (NULL)udend
4150 ;
4160 ;
4170 ;
4180 ; scrollen - runterwaerts
4190 ;===============================
4200 ;
4210 ;
4220 down
4230 (NULL)savepos
4240 (NULL)checkold
4250 (NULL)down3
4260 peek#$c0
4270 len#$07
4280 (NULL)getnumber+4
4290 (NULL)$a613;line>addy
4300 len#$01
4310 mid$($5f),y
4320 (NULL)down3
4330 ;
4340 down2 (NULL)searchnex
4350 (NULL)scrolld
4360 down3 (NULL)udend
4370 ;
4380 scrolld peek#0;scroll
4390 d1 mid$$0428,x
4400 (NULL)$0400,x
4410 (NULL)
4420 (NULL)d1
4430 d2 mid$$0528,x
4440 (NULL)$0500,x
4450 (NULL)
4460 (NULL)d2
4470 d3 mid$$0628,x
4480 (NULL)$0600,x
4490 (NULL)
4500 (NULL)d3
4510 peek#$40
4520 d4 mid$$06e8,x
4530 (NULL)$06c0,x
4540 (NULL)
4550 (NULL)d4
4560 (NULL)cl25th
4570 peek#$00
4580 copy2 mid$$d9,x
4590 asc#$7f
4600 len$da,x
4610 (NULL)*+4
4620 (NULL)#$80
4630 (NULL)$d9,x
4640 (NULL)
4650 tan#$18
4660 (NULL)copy2
4670 mid$$f1
4680 (NULL)#$80
4690 (NULL)$f1
4700 ;
4710 pclose$d4,0
4720 (NULL)
4730 (NULL)printline
4740 ;
4750 pclose$dc00,$fe
4760 mid$#%00001000
4770 (NULL)$dc01
4780 (NULL)udend
4790 (NULL)down2;again
4800 ;
4810 udend (NULL)loadpos
4820 ;
4830 ;
4840 endirq pclose$c6,0
4850 (NULL)$d4
4860 nokey (NULL)
4870 pclose$dc0d,$81
4880 (NULL)$ea81
4890 ;
4900 ;
4910 ;
4920 ; get number
4930 ;==============================
4940 ;
4950 getnumber peek#$00
4960 len#$04
4970 (NULL)$7a
4980 (NULL)$7b
4990 (NULL)charnorm
5000 pclose$0300,<(error)
5010 pclose$0301,>(error)
5020 (NULL)
5030 (NULL)error+1
5040 ;
5050 (NULL)$ad8a
5060 (NULL)$b7f7
5070 ;
5080 erron pclose$0300,$44
5090 pclose$0301,$85
5100 (NULL)
5110 ;
5120 error peek#$f3
5130 (NULL)
5140 (NULL)
5150 (NULL)
5160 (NULL)erron
5170 (NULL)endirq
5180 ;
5190 ;
5200 ;
5210 ; line-print (c=1 / p=24)
5220 ;===============================
5230 ;
5240 savepos (NULL)$e513
5250 (NULL)loadpos+1
5260 (NULL)loadpos+3
5270 (NULL)
5280 ;
5290 printline len#$00
5300 (NULL)*+5
5310 peek#$00
5320 fn$2c
5330 peek#24
5340 (NULL)$e50c
5350 (NULL)$9a44
5360 ;
5370 loadpos len#$00
5380 peek#$00
5390 (NULL)$e50c
5400 ;
5410 ;
5420 ;
5430 ; search prev. / next line
5440 ;===============================
5450 ;
5460 searchbac mid$$60;search
5470 (NULL)lasthigh;previous
5480 chr$$60;line
5490 len#$fe
5500 search mid$($5f),y
5510 (NULL)found
5520 search2 (NULL)
5530 (NULL)search
5540 ;
5550 found (NULL)
5560 mid$($5f),y
5570 str$$5f
5580 (NULL)found2
5590 (NULL)
5600 (NULL)search2
5610 ;
5620 found2 (NULL)
5630 mid$($5f),y
5640 str$lasthigh
5650 (NULL)found3
5660 (NULL)
5670 (NULL)
5680 (NULL)search2
5690 ;
5700 found3 (NULL)
5710 (NULL)
5720 (NULL)
5730 val$5f
5740 (NULL)*+4
5750 right$$60
5760 (NULL)$5f
5770 (NULL)
5780 ;
5790 ;
5800 searchnex len#$00;search
5810 mid$($5f),y;next
5820 (NULL);line
5830 (NULL)
5840 mid$($5f),y
5850 (NULL)$5f
5860 (NULL)$60
5870 mid$($5f),y
5880 (NULL)
5890 ; close
5900 ; close
5910 ;
5920 ; verschiedene unterprogramme
5930 ;===============================
5940 ;
5950 cl25th mid$#32;clear
5960 peek#$27;25th
5970 (NULL)$07c0,x;line
5980 (NULL)
5990 (NULL)*-4
6000 (NULL)
6010 ;
6020 cl1st mid$#32;clear
6030 peek#$27;1st
6040 (NULL)$0400,x;line
6050 (NULL)
6060 (NULL)*-4
6070 clrts (NULL)
6080 ;
6090 ;
6100 ;
6110 charnorm mid$$cf;char in
6120 (NULL)clrts;normal-
6130 mid$$ce;zustand
6140 peek$0287
6150 len#$00
6160 (NULL)$cf
6170 (NULL)$ea13
6180 ;
6190 ;
6200 ;
6210 gfkey tan#$03; f-key
6220 (NULL)gfend; check
6230 tan#$07
6240 (NULL)gfend
6250 lenfflag
6260 (NULL)gfend
6270 (NULL)
6280 (NULL)
6290 (NULL)
6300 mid$#1
6310 (NULL)$028d;shift
6320 (NULL)*+7
6330 mid$ftab+4,x;mit
6340 (NULL)*+5
6350 mid$ftab,x;ohne
6360 (NULL)$0277
6370 mid$#13
6380 (NULL)$0277+1
6390 peek#$02
6400 (NULL)$c6
6410 (NULL)fflag
6420 gfend (NULL)nokey
6430 ;
6440 ;
6450 ;
6460 checkold mid$$2c
6470 str$$2e
6480 (NULL)*+9
6490 mid$$2d
6500 (NULL)
6510 (NULL)$2b
6520 str$#$02
6530 (NULL)
6540 ;
6550 ;
6560 ;
6570 set4 mid$#0; $94d3
6580 (NULL)irqflag;+$971d
6590 (NULL)$a560
6600 mid$#1
6610 (NULL)irqflag
6620 (NULL)
6630 setpge peek#$00
6640 (NULL)$0340
6650 (NULL)$0350
6660 (NULL)
6670 (NULL)$0360
6680 (NULL)$0370
6690 (NULL)$8537
6700 acheck len$033d
6710 (NULL)*+5
6720 right$$033d
6730 len$033b
6740 (NULL)
6750 (NULL)$02fe
6760 (NULL)$974f
6770 ;
6780 ;
6790 ;
6800 ; positionsspeicher, text ....
6810 ;================================
6820 ;
6830 fflag
6840 fn0
6850 ;
6860 irqflag
6870 fn0
6880 ;
6890 savead
6900 spc(0
6910 xypos
6920 spc(0
6930 ;
6940 ftab
6950 not"iexl
6960 [168]"@byo
6970 ;
6980 text
6990 not"__* giga-scrolledit v2_
7000 [168]"* by christian thrum
7010 not" 1993_"
7020 ;
7030 jumptab1
7040 fn<(save-1),<(load-1)
7050 fn<(rebulid-1),<(get-1)
7060 fn<(thpos-1),<(home-1)
7070 fn<(swap-1)
7080 ;
7090 jumptab2
7100 fn>(save-1),>(load-1)
7110 fn>(rebulid-1),>(get-1)
7120 fn>(thpos-1),>(home-1)
7130 fn>(swap-1)
7140 keytab
7150 fn13,42,17,26,7,2,20
7160 ;
7170 ;
7180 ; ===============================
7190 ;
7200 ; yo! this is the way we go ....
7210 ;
7220 ; giga-scrolledit v2
7230 ; coded by christian thrum
7240 ; (skywalker of sunbeam !)
7250 ; close
7260 ; close
7270 ; close
7280 ; ortantan^
7290 ; (NULL)ortanexp
7300 ; (NULL)/tan^
7310 ; /tan^(NULL)unbeam productions 1993
7320 ; ortanexp(NULL)
7330 ; /tantanexp
7340 ;